/**
 * @type {Number}
 *
 * @properties={typeid:35,uuid:"C9C33D67-960D-487A-9D06-A02495F38FF8",variableType:4}
 */
var fSalir = 0;


/**
 * Handle hide window.
 *
 * @param {JSEvent} event the event that triggered the action
 *
 * @returns {Boolean}
 *
 * @properties={typeid:24,uuid:"FE8EDCCB-C04B-4CC0-A299-8BE873BAC979"}
 */
function onHide(event) {
	return (fSalir != 0)
}

/**
 * Perform the element default action.
 *
 * @param {JSEvent} event the event that triggered the action
 *
 * @properties={typeid:24,uuid:"DAB1C9DA-C4CB-401A-9402-483615158C42"}
 */
function confirmar(event) {
	if (!fecha_inicio || !fecha_fin)
	{
		globals.DIALOGS.showWarningDialog('Aviso','Por favor elija fecha de inicio y de fin válidas','OK')
		return
	}
	fecha_inicio 		= new Date(fecha_inicio.getFullYear(),fecha_inicio.getMonth(),fecha_inicio.getDate(),0,0,0,0)
	fecha_fin 			= new Date(fecha_fin.getFullYear(),fecha_fin.getMonth(),fecha_fin.getDate(),23,59,59,996)
	
	var $fecha_inicio 	= new Date(fecha_inicio.getFullYear()+1,fecha_inicio.getMonth(),fecha_inicio.getDate(),23,59,59,966)
	if ($fecha_inicio <= fecha_fin)
	{
		globals.DIALOGS.showWarningDialog('Aviso','La duración del ejercicio debe ser menor a un año','OK')
		return
	}
	if (fecha_inicio > fecha_fin)
	{
		globals.DIALOGS.showWarningDialog('Aviso','La fecha de inicio no puede ser mayor a la de fin','OK')
		return
	}
	descripcion	= 'Período: ' + utils.dateFormat(fecha_inicio,'dd-MM-yy') + ' - ' + utils.dateFormat(fecha_fin,'dd-MM-yy')

	databaseManager.startTransaction()
	if (databaseManager.saveData())
	{
		globals.gEjercicio = ejercicio_id
		databaseManager.addTableFilterParam("contable",null,"ejercicio_id","=",globals.gEjercicio,"filtro_ejercicio")
		if (!globals.gAltaNumcon(fecha_inicio.getFullYear(), fecha_inicio.getMonth()+1))
		{
			globals.gEjercicio = null
			databaseManager.rollbackTransaction()
			databaseManager.revertEditedRecords()
			globals.DIALOGS.showWarningDialog('Aviso','Tabla de numeración contiene errores','OK')
			return
		}
		databaseManager.saveData()
		databaseManager.commitTransaction()
		globals.DIALOGS.showInfoDialog('Aviso','El ejercicio fue dado de alta con éxito','OK')
		fSalir = 1
		var $win = application.getWindow('ELIGE_EJERCICIO')
		if ($win)
		{
			$win.hide()
			$win.destroy()
		}
	}
	else
	{
		databaseManager.rollbackTransaction()
		databaseManager.revertEditedRecords()
		globals.DIALOGS.showWarningDialog('Aviso','Ocurrión un error y no se pudo dar de alta el ejercicio','OK')
		return
	}
}

/**
 * Perform the element default action.
 *
 * @param {JSEvent} event the event that triggered the action
 *
 * @properties={typeid:24,uuid:"ADB5C4F5-039B-4E30-B9C2-CEAF6040907A"}
 */
function cancelar(event) {
	fSalir = 1
	databaseManager.revertEditedRecords()
	databaseManager.setAutoSave(true)
	var $win = application.getWindow('ELIGE_EJERCICIO')
	if ($win)
		forms.elegir_ejercicio.controller.show()
	else
	{
		$win = application.getWindow('NUEVO_EJERCICIO')
		$win.hide()
		$win.destroy()
	}
}

/**
 * Callback method for when form is shown.
 *
 * @param {Boolean} firstShow form is shown first time after load
 * @param {JSEvent} event the event that triggered the action
 *
 * @properties={typeid:24,uuid:"FC820828-2EC4-401E-BD39-DE87672B4B0F"}
 */
function onShow(firstShow, event) {
	fSalir = 0
	databaseManager.setAutoSave(false)
	controller.newRecord()
}
